package com.bestdreamer.exception;

/**
 * 线程异常处理机制
 * 使用自定义的 java.lang.ThreadGroup 线程组，并重写 uncaughtException 方法处理组内线程终端行为时，
 * 每个线程对象中的 run() 方法内部不要有异常 catch 语句，如果有 catch 语句，则 public uncaughtException(Thread t,Throwable e) 方法不执行
 */
public class MyThreadGroup extends ThreadGroup {

    public MyThreadGroup(String name) {
        super(name);
    }

    @Override
    public void uncaughtException(Thread t, Throwable e) {
        super.uncaughtException(t, e);
        this.interrupt();
    }
}
